package com.haidao.admin.component.service;

import com.haidao.admin.component.params.ReportParam;
import org.springframework.data.domain.Page;
import org.springframework.validation.annotation.Validated;

import java.io.InputStreamReader;
import java.io.Writer;

public interface ReportService<T> {

    void report(String code, long taskId);

    Page<T> selectReportRecord(@Validated ReportParam param);

    void report(String tableName, Integer id, String action);

    void save(InputStreamReader reader);

    Class<T> getGenericTypeClass();

    Page<T> selectAsset(ReportParam param);

    void export(Writer writer);

}
